﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Web;

namespace RTracker.Areas.Recruitment.Models.Candidate
{

    /// <summary>
    /// Class for Candidate, used to get and set values of Candidate properties.
    /// </summary>
    public class CCandidate
    {
        int m_nCandidateId;
        String m_strFirstName;
        String m_strMiddleName;
        String m_strLastName;
        int m_nOrganizationId;
        String m_strContactAddress;
        String m_strEmailId;
        String m_strMobile;
        String m_strLandline;
        int m_nSource;
        String m_strReferenceBy;
        int m_nDepartment;
        String m_strSkills;
        int m_nExpirence;
        Boolean m_bIsSoftLocked;
        int m_nSoftLockedBy;
        DateTime? m_dtSoftLockTimestamp;
        Boolean m_bIsHardLocked;
        int m_nHardLockedBy;
        DateTime? m_dtHardLockTimestamp;
        DateTime? m_dtCreateTimestamp;
        int m_nCreatedBy;
        DateTime? m_dtModifiedTimestamp;
        int m_nModifiedBy;
        Boolean m_bDeleteFlag;
        String m_strCandidateIds;
        int m_nPageNumber;
        int m_nRowSize;
        String m_strSortOn;
        String m_strSortType;
        String m_strSearch;
        String m_strSearchOn;
        string m_strSoftlockedByName;
        string m_strHardlockedByName;
        string m_strCreatedByName;
        string m_strModifiedByName;

        /// <summary>
        /// Constructor of the class.
        /// </summary> 
        /// <date_created>7/1/2014</date_created>
        public CCandidate()
        {
            m_nCandidateId = 0;
            m_strFirstName = "";
            m_strMiddleName = "";
            m_strLastName = "";
            m_nOrganizationId = 0;
            m_strContactAddress = "";
            m_strEmailId = "";
            m_strMobile = "";
            m_strLandline = "";
            m_nSource = 0;
            m_strReferenceBy = "";
            m_nDepartment = 0;
            m_strSkills = "";
            m_nExpirence = 0;
            m_bIsSoftLocked = false;
            m_nSoftLockedBy = 0;
            m_dtSoftLockTimestamp = null;
            m_bIsHardLocked = false;
            m_nHardLockedBy = 0;
            m_dtHardLockTimestamp = null;
            m_dtCreateTimestamp = null;
            m_nCreatedBy = 0;
            m_dtModifiedTimestamp = null;
            m_nModifiedBy = 0;
            m_bDeleteFlag = false;
            m_nPageNumber = 0;
            m_nRowSize = 0;
            m_strSortOn = "";
            m_strSortType = "";
            m_strCandidateIds = "";
            m_strHardlockedByName = "";
            m_strSoftlockedByName = "";
            m_strCreatedByName = "";
            m_strModifiedByName = "";
        }

        /// <summary>
        /// Constructor of the class.
        /// </summary> 
        /// <date_created>7/1/2014</date_created>
        public CCandidate(int nCandidateId, String strFirstName, String strMiddleName, String strLastName, String strContactAddress
            , String strEmailId, String strMobile, String strLandline, int nSource, String strReferenceBy
            , int nDepartment, String strSkills, int nExpirence, int nOrganizationId, Boolean bIsSoftLocked, int nSoftLockedBy
            , DateTime? dtSoftLockTimestamp, Boolean bIsHardLocked, int nHardLockedBy, DateTime? dtHardLockTimestamp, DateTime? dtCreateTimestamp
            , int nCreatedBy, DateTime? dtModifiedTimestamp, int nModifiedBy, Boolean bDeleteFlag, int nPageNumber, int nRowSize
            , String strCandidateIds, String strSortOn, String strSortType, String strSearch, String strSearchOn
            , string strSoftlockedByName, string strHardlockedByName, string strCreatedByName, string strModifiedByName)
        {
            m_nCandidateId = nCandidateId;
            m_strFirstName = strFirstName;
            m_strMiddleName = strMiddleName;
            m_strLastName = strLastName;
            m_strContactAddress = strContactAddress;
            m_nOrganizationId = nOrganizationId;
            m_strEmailId = strEmailId;
            m_strMobile = strMobile;
            m_strLandline = strLandline;
            m_nSource = nSource;
            m_strReferenceBy = strReferenceBy;
            m_nDepartment = nDepartment;
            m_strSkills = strSkills;
            m_nExpirence = nExpirence;
            m_bIsSoftLocked = bIsSoftLocked;
            m_nSoftLockedBy = nSoftLockedBy;
            m_dtSoftLockTimestamp = dtSoftLockTimestamp;
            m_bIsHardLocked = bIsHardLocked;
            m_nHardLockedBy = nHardLockedBy;
            m_dtHardLockTimestamp = dtHardLockTimestamp;
            m_dtCreateTimestamp = dtCreateTimestamp;
            m_nCreatedBy = nCreatedBy;
            m_dtModifiedTimestamp = dtModifiedTimestamp;
            m_nModifiedBy = nModifiedBy;
            m_bDeleteFlag = bDeleteFlag;
            m_nPageNumber = nPageNumber;
            m_nRowSize = nRowSize;
            m_strSortOn = strSortOn;
            m_strSortType = strSortType;
            m_strSearch = strSearch;
            m_strSearchOn = strSearchOn;
            m_strCandidateIds = strCandidateIds;
            m_strSoftlockedByName = strSoftlockedByName;
            m_strHardlockedByName = strHardlockedByName;
            m_strCreatedByName = strCreatedByName;
            m_strModifiedByName = strModifiedByName;
        }

        /// <summary>
        /// Used to store CandidateId
        /// </summary>
        public int CandidateId
        {
            get { return m_nCandidateId; }
            set { m_nCandidateId = value; }
        }
        /// <summary>
        /// used to store Organization id 
        /// </summary>
        public int OrganizationId
        {
            get { return m_nOrganizationId; }
            set { m_nOrganizationId = value; }
        }
        /// <summary>
        /// Used to store FirstName
        /// </summary>
        // Display name of this property
        [DisplayName("First Name")]
        public String FirstName
        {
            get { return m_strFirstName; }
            set { m_strFirstName = value; }
        }
        /// <summary>
        /// Used to store MiddleName
        /// </summary>
        // Display name of this property
        [DisplayName("Middle Name")]
        public String MiddleName
        {
            get { return m_strMiddleName; }
            set { m_strMiddleName = value; }
        }
        /// <summary>
        /// Used to store LastName
        /// </summary>
        // Display name of this property
        [DisplayName("Last Name")]
        public String LastName
        {
            get { return m_strLastName; }
            set { m_strLastName = value; }
        }
        /// <summary>
        /// Used to store ContactAddress
        /// </summary>
        // Display name of this property
        [DisplayName("Address")]
        public String ContactAddress
        {
            get { return m_strContactAddress; }
            set { m_strContactAddress = value; }
        }
        /// <summary>
        /// Used to store EmailId
        /// </summary>
        // Display name of this property
        [DisplayName("Email Id")]
        public String EmailId
        {
            get { return m_strEmailId; }
            set { m_strEmailId = value; }
        }
        /// <summary>
        /// Used to store Mobile
        /// </summary>
        // Display name of this property
        [DisplayName("Mobile")]
        public String Mobile
        {
            get { return m_strMobile; }
            set { m_strMobile = value; }
        }
        /// <summary>
        /// Used to store Landline
        /// </summary>
        // Display name of this property
        [DisplayName("Landline")]
        public String Landline
        {
            get { return m_strLandline; }
            set { m_strLandline = value; }
        }
        /// <summary>
        /// Used to store Source
        /// </summary>
        // Display name of this property
        [DisplayName("Source")]
        public int Source
        {
            get { return m_nSource; }
            set { m_nSource = value; }
        }
        /// <summary>
        /// Used to store ReferenceBy
        /// </summary>
        // Display name of this property
        [DisplayName("Referenced By")]
        public String ReferenceBy
        {
            get { return m_strReferenceBy; }
            set { m_strReferenceBy = value; }
        }
        /// <summary>
        /// Used to store Department
        /// </summary>
        // Display name of this property
        [DisplayName("Department")]
        public int Department
        {
            get { return m_nDepartment; }
            set { m_nDepartment = value; }
        }
        /// <summary>
        /// Used to store Skills
        /// </summary>
        // Display name of this property
        [DisplayName("Skills")]
        public String Skills
        {
            get { return m_strSkills; }
            set { m_strSkills = value; }
        }
        /// <summary>
        /// Used to store Expirence
        /// </summary>
        // Display name of this property
        [DisplayName("Expirence")]
        public int Expirence
        {
            get { return m_nExpirence; }
            set { m_nExpirence = value; }
        }
        /// <summary>
        /// Used to store IsSoftLocked
        /// </summary>
        public Boolean IsSoftLocked
        {
            get { return m_bIsSoftLocked; }
            set { m_bIsSoftLocked = value; }
        }
        /// <summary>
        /// Used to store SoftLockedBy
        /// </summary>
        public int SoftLockedBy
        {
            get { return m_nSoftLockedBy; }
            set { m_nSoftLockedBy = value; }
        }
        /// <summary>
        /// Used to store SoftLockTimestamp
        /// </summary>
        public DateTime? SoftLockTimestamp
        {
            get { return m_dtSoftLockTimestamp; }
            set { m_dtSoftLockTimestamp = value; }
        }
        /// <summary>
        /// Used to store IsHardLocked
        /// </summary>
        public Boolean IsHardLocked
        {
            get { return m_bIsHardLocked; }
            set { m_bIsHardLocked = value; }
        }
        /// <summary>
        /// Used to store HardLockedBy
        /// </summary>
        public int HardLockedBy
        {
            get { return m_nHardLockedBy; }
            set { m_nHardLockedBy = value; }
        }
        /// <summary>
        /// Used to store HardLockTimestamp
        /// </summary>
        public DateTime? HardLockTimestamp
        {
            get { return m_dtHardLockTimestamp; }
            set { m_dtHardLockTimestamp = value; }
        }
        /// <summary>
        /// Used to store CreateTimestamp
        /// </summary>
        // Display name of this property
        [DisplayName("Created On")]
        public DateTime? CreateTimestamp
        {
            get { return m_dtCreateTimestamp; }
            set { m_dtCreateTimestamp = value; }
        }
        /// <summary>
        /// Used to store CreatedBy
        /// </summary>
        public int CreatedBy
        {
            get { return m_nCreatedBy; }
            set { m_nCreatedBy = value; }
        }
        /// <summary>
        /// Used to store ModifiedTimestamp
        /// </summary>
        // Display name of this property
        [DisplayName("Modified On")]
        public DateTime? ModifiedTimestamp
        {
            get { return m_dtModifiedTimestamp; }
            set { m_dtModifiedTimestamp = value; }
        }
        /// <summary>
        /// Used to store ModifiedBy
        /// </summary>
        public int ModifiedBy
        {
            get { return m_nModifiedBy; }
            set { m_nModifiedBy = value; }
        }
        /// <summary>
        /// Used to store DeleteFlag
        /// </summary>
        public Boolean DeleteFlag
        {
            get { return m_bDeleteFlag; }
            set { m_bDeleteFlag = value; }
        }
        /// <summary>
        /// Used to store PageNumber
        /// </summary>
        public int PageNumber
        {
            get { return m_nPageNumber; }
            set { m_nPageNumber = value; }
        }
        /// <summary>
        /// Used to store RowSize
        /// </summary>
        public int RowSize
        {
            get { return m_nRowSize; }
            set { m_nRowSize = value; }
        }
        public String SortOn
        {
            get { return m_strSortOn; }
            set { m_strSortOn = value; }
        }
        /// <summary>
        /// Used to store SortType
        /// </summary>
        public String SortType
        {
            get { return m_strSortType; }
            set { m_strSortType = value; }
        }
        /// <summary>
        /// Used to store Search
        /// </summary>
        public String Search
        {
            get { return m_strSearch; }
            set { m_strSearch = value; }
        }
        /// <summary>
        /// Used to store SearchOn
        /// </summary>
        public String SearchOn
        {
            get { return m_strSearchOn; }
            set { m_strSearchOn = value; }
        }
        /// <summary>
        /// Used to store CandidateIds
        /// </summary>
        public String CandidateIds
        {
            get { return m_strCandidateIds; }
            set { m_strCandidateIds = value; }
        }
        /// <summary>
        /// Used to store username who owns the softlock.
        /// </summary>
        // Display name of this property
        [DisplayName("Viewed By")]
        public string SoftLockedByName
        {
            get { return m_strSoftlockedByName; }
            set { m_strSoftlockedByName = value; }
        }
        /// <summary>
        /// Used to store username who owns the hardlock.
        /// </summary>
        // Display name of this property
        [DisplayName("Locked By")]
        public string HardLockedByName
        {
            get { return m_strHardlockedByName; }
            set { m_strHardlockedByName = value; }
        }
        /// <summary>
        /// Used to store CreatedBy Name
        /// </summary>
        // Display name of this property
        [DisplayName("Created By")]
        public string CreatedByName
        {

            get { return m_strCreatedByName; }
            set { m_strCreatedByName = value; }
        }
        /// <summary>
        /// Used to store ModifiedBy Name
        /// </summary>
        // Display name of this property
        [DisplayName("Modified By")]
        public string ModifiedByName
        {

            get { return m_strModifiedByName; }
            set { m_strModifiedByName = value; }
        }
    }

}